package com.ruoyi.LXHappointment.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 个人预约就诊对象 doc_appointment
 *
 * @author ruoyi
 * @date 2025-08-18
 */
public class LXHAppointment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 预约Id */
    private Long appId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 用户名字（新增） */
    @Excel(name = "用户名字")
    private String userName;

    /** 医生id */
    @Excel(name = "医生id")
    private Long doctorId;

    /** 医生名字（新增） */
    @Excel(name = "医生名字")
    private String doctorName;

    /** 预约描述 */
    @Excel(name = "预约描述")
    private String appInfo;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appDateTime;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appCreate;

    /** 状态 */
    @Excel(name = "预约状态")
    private String appStatse;

    /** 预约地址 */
    @Excel(name = "预约地址")
    private String appAddress;


    // 新增的两个字段
    private String treatInfo;
    private String treatState;

    public void setTreatInfo(String treatInfo) {
        this.treatInfo = treatInfo;
    }

    public String getTreatInfo() {
        return treatInfo;
    }

    public void setTreatState(String treatState) {
        this.treatState = treatState;
    }

    public String getTreatState() {
        return treatState;
    }


    public void setAppId(Long appId)
    {
        this.appId = appId;
    }

    public Long getAppId()
    {
        return appId;
    }

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }

    // 新增用户名字的getter和setter
    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setDoctorId(Long doctorId)
    {
        this.doctorId = doctorId;
    }

    public Long getDoctorId()
    {
        return doctorId;
    }

    // 新增医生名字的getter和setter
    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public void setAppInfo(String appInfo)
    {
        this.appInfo = appInfo;
    }

    public String getAppInfo()
    {
        return appInfo;
    }

    public void setAppDateTime(Date appDateTime)
    {
        this.appDateTime = appDateTime;
    }

    public Date getAppDateTime()
    {
        return appDateTime;
    }

    public void setAppCreate(Date appCreate)
    {
        this.appCreate = appCreate;
    }

    public Date getAppCreate()
    {
        return appCreate;
    }

    public void setAppStatse(String appStatse)
    {
        this.appStatse = appStatse;
    }

    public String getAppStatse()
    {
        return appStatse;
    }

    public void setAppAddress(String appAddress)
    {
        this.appAddress = appAddress;
    }

    public String getAppAddress()
    {
        return appAddress;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("appId", getAppId())
                .append("userId", getUserId())
                .append("userName", getUserName())  // 新增
                .append("doctorId", getDoctorId())
                .append("doctorName", getDoctorName())  // 新增
                .append("appInfo", getAppInfo())
                .append("appDateTime", getAppDateTime())
                .append("appCreate", getAppCreate())
                .append("appStatse", getAppStatse())
                .append("appAddress", getAppAddress())
                .append("treatInfo", getTreatInfo())
                .append("treatState", getTreatState())
                .toString();
    }

}
